package com.company;

import java.util.Date;


public class StringDemo {
    public static void main(String[] args) {
       String s = new String("good");
       String a ="nice";
       String b = s+""+a;
        System.out.println(s);
        System.out.println(a);
//        查找字符首次出现的位置
        System.out.println(b.indexOf("o"));
//        查找字符最后一次出现的位置
        System.out.println(b.lastIndexOf("o"));
//        查找指定引索对应的字符串
        System.out.println(b.charAt(0));
//        截取指定引索的字符串
        System.out.println(b.substring(4,7));
//        将指定的字符或字符串替换成新的字符或字符串(不改变原字符串)
        System.out.println(b.replace("nice","great"));
        System.out.println(b);
//        判断字符串是否以指定的内容开始
        System.out.println(b.startsWith("good"));
//        判断字符串是否以指定内容结束
        System.out.println(b.endsWith("great"));
//        判断字符串是否相等  即使字符串内容相同，但是两个对象的内存地址不相同，运算符还是会返回false
        String c = new String("good");
        System.out.println(s==c);
        System.out.println(s.equals(c));
//        忽视大小写判断字符串是否相等
        String q = "abc";
        String e = "ABC";
        System.out.println(q.equals(e));
        System.out.println(q.equalsIgnoreCase(e));
//        按照字典顺序比较两个字符串
        String l = "a";
        String p = "b";
        String o = "c";
        System.out.println(l.compareTo(p));
        System.out.println(o.compareTo(l));
//      大写字母转小写字母
        String aa = "A";
        System.out.println(aa.toLowerCase());
//       小写字母转大写字母
        System.out.println(aa.toLowerCase().toUpperCase());
//        字符串分割 str.split(String sign,int limit)
        String bb = "hello world";
        String[] cc = bb.split(" ");
        System.out.println(cc[0]);
//        格式化字符串
        Date date = new Date();
        String ss = String.format("%tb",date);
        System.out.println(date);
        System.out.println(ss);
//        StringBuilder
     StringBuilder stringBuilder = new StringBuilder("aaaaabbbb");
//     添加字符
     stringBuilder.append("ccccc");
//     返回当前容量
        int stringCapacity =  stringBuilder.capacity();
//      返回指定引索处的char值
       char indexChar = stringBuilder.charAt(1);
//       删除次序列的字符串中的字符 delete(int start,int end)
//       stringBuilder.delete(0,1);
//     删除指定引索序列的字符值
        stringBuilder.deleteCharAt(0);
//        字符从该序列复制到目标字符数组 dst 。   不能扩充源char数组的长度
     char[] dst = new char[]{'o'};
     stringBuilder.getChars(0,1,dst,0);
//     System.out.println(dst);
//     将目标字符插入
     stringBuilder.insert(1,"ok");
     System.out.println(stringBuilder);
//     将StringBuilder类型转换成String类型
        String to_String = stringBuilder.toString();
//     将字符串反转
     StringBuilder reverseString = new StringBuilder(to_String);
     reverseString.reverse().toString();
//     替换字符串
     stringBuilder.replace(0,2,"ga");
//     切割字符串
        String result =  stringBuilder.substring(1,3).toString();
     System.out.println(result);
    }
}
